﻿using System;
using System.Collections.Generic;
using System.Text;
using ComposicionPedidos;

namespace AdministracionPedidos
{
    class CreadorPedido:ICreadorPedido
    {
        #region ICreadorPedido Members

        public Pedido crearPedido(List<ProductoCantidad> productos, List<Bebida> bebidas)
        {
            Pedido pedido = new Pedido();
            PartePedidoPizza partePizza = (PartePedidoPizza)pedido.getPartePizza();
            PartePedidoEmpanada parteEmpanada = (PartePedidoEmpanada)pedido.getParteEmpanadas();

            foreach(ProductoCantidad prodCant in productos)
            {
                ProductoPizzeria prod = prodCant.getProducto();
                
                if (prod is Pizza)
                {
                    partePizza.agregarPizza((Pizza)prod, prodCant.getCantidadTotal());
                    partePizza.setTotalPizzas(prodCant.getCantidadTotal());
                }
                else
                {
                    parteEmpanada.agregarEmpanada((Empanada)prod, prodCant.getCantidadTotal());
                    parteEmpanada.setTotalEmpanadas(prodCant.getCantidadTotal());
                }
            }

            pedido.PartesPedido.Clear();

            List<PartePedido> partesP = new List<PartePedido>();
            partesP.Add(partePizza);
            partesP.Add(parteEmpanada);

            pedido.PartesPedido = partesP;

            pedido.ListaBebidas = bebidas;

            return pedido;
        }

        #endregion
    }
}
